#include "timer_utility.h"

using namespace std;

TimerUtility ::TimerUtility ()
{
    timeInterval = 0;
}

/* *
 * @brief ：启动计时器并输出开始信息
 *
 * @param msg ：要打印的消息，说明计时任务的名称
 */
void TimerUtility ::Start(string msg)
{
    gettimeofday(&startTime, 0);
}

/* *
 * @brief ：停止计时器并输出运行时长
 *
 * @param msg ：要打印的消息，说明计时任务的名称
 */
void TimerUtility ::Stop(string msg)
{
    gettimeofday(&stopTime, 0);
    timeInterval = (stopTime.tv_sec - startTime.tv_sec) * 1000.0;
    timeInterval += (stopTime.tv_usec - startTime.tv_usec) / 1000.0;
    cout << msg + " time = " << timeInterval << " ms" << endl;
    cout << "------------------" << endl;
}

/* *
 * @brief ：返回运行时长
 *
 * @return double：返回当前运行时长。
 */
double TimerUtility ::GetTimeInterval() const
{
    return timeInterval;
}
